(* Capstone Disassembler Engine
 * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> *)

(* architecture specific info of instruction *)
type x86_op_mem = {
	base: int;
	index: int;
	scale: int;
	displ: int;
}

type x86_op = 
	| X86_OP_INVALID of int
	| X86_OP_REG of int
	| X86_OP_IMM of int
	| X86_OP_FP of float
	| X86_OP_MEM of x86_op_mem

type cs_x86 = { 
	prefix: int array;
	segment: int;
	opcode: int array;
	op_size: int;
	addr_size: int;
	disp_size: int;
	imm_size: int;
	modrm: int;
	sib: int;
	disp: int;
	sib_index: int;
	sib_scale: int;
	sib_base: int;
	op_count: int;
	operands: x86_op array;
}

(*  X86 registers *)
let _X86_REG_INVALID = 0;;
let _X86_REG_AH = 1;;
let _X86_REG_AL = 2;;
let _X86_REG_AX = 3;;
let _X86_REG_BH = 4;;
let _X86_REG_BL = 5;;
let _X86_REG_BP = 6;;
let _X86_REG_BPL = 7;;
let _X86_REG_BX = 8;;
let _X86_REG_CH = 9;;
let _X86_REG_CL = 10;;
let _X86_REG_CS = 11;;
let _X86_REG_CX = 12;;
let _X86_REG_DH = 13;;
let _X86_REG_DI = 14;;
let _X86_REG_DIL = 15;;
let _X86_REG_DL = 16;;
let _X86_REG_DS = 17;;
let _X86_REG_DX = 18;;
let _X86_REG_EAX = 19;;
let _X86_REG_EBP = 20;;
let _X86_REG_EBX = 21;;
let _X86_REG_ECX = 22;;
let _X86_REG_EDI = 23;;
let _X86_REG_EDX = 24;;
let _X86_REG_EFLAGS = 25;;
let _X86_REG_EIP = 26;;
let _X86_REG_EIZ = 27;;
let _X86_REG_ES = 28;;
let _X86_REG_ESI = 29;;
let _X86_REG_ESP = 30;;
let _X86_REG_FPSW = 31;;
let _X86_REG_FS = 32;;
let _X86_REG_GS = 33;;
let _X86_REG_IP = 34;;
let _X86_REG_RAX = 35;;
let _X86_REG_RBP = 36;;
let _X86_REG_RBX = 37;;
let _X86_REG_RCX = 38;;
let _X86_REG_RDI = 39;;
let _X86_REG_RDX = 40;;
let _X86_REG_RIP = 41;;
let _X86_REG_RIZ = 42;;
let _X86_REG_RSI = 43;;
let _X86_REG_RSP = 44;;
let _X86_REG_SI = 45;;
let _X86_REG_SIL = 46;;
let _X86_REG_SP = 47;;
let _X86_REG_SPL = 48;;
let _X86_REG_SS = 49;;
let _X86_REG_CR0 = 50;;
let _X86_REG_CR1 = 51;;
let _X86_REG_CR2 = 52;;
let _X86_REG_CR3 = 53;;
let _X86_REG_CR4 = 54;;
let _X86_REG_CR5 = 55;;
let _X86_REG_CR6 = 56;;
let _X86_REG_CR7 = 57;;
let _X86_REG_CR8 = 58;;
let _X86_REG_CR9 = 59;;
let _X86_REG_CR10 = 60;;
let _X86_REG_CR11 = 61;;
let _X86_REG_CR12 = 62;;
let _X86_REG_CR13 = 63;;
let _X86_REG_CR14 = 64;;
let _X86_REG_CR15 = 65;;
let _X86_REG_DR0 = 66;;
let _X86_REG_DR1 = 67;;
let _X86_REG_DR2 = 68;;
let _X86_REG_DR3 = 69;;
let _X86_REG_DR4 = 70;;
let _X86_REG_DR5 = 71;;
let _X86_REG_DR6 = 72;;
let _X86_REG_DR7 = 73;;
let _X86_REG_FP0 = 74;;
let _X86_REG_FP1 = 75;;
let _X86_REG_FP2 = 76;;
let _X86_REG_FP3 = 77;;
let _X86_REG_FP4 = 78;;
let _X86_REG_FP5 = 79;;
let _X86_REG_FP6 = 80;;
let _X86_REG_K0 = 81;;
let _X86_REG_K1 = 82;;
let _X86_REG_K2 = 83;;
let _X86_REG_K3 = 84;;
let _X86_REG_K4 = 85;;
let _X86_REG_K5 = 86;;
let _X86_REG_K6 = 87;;
let _X86_REG_K7 = 88;;
let _X86_REG_MM0 = 89;;
let _X86_REG_MM1 = 90;;
let _X86_REG_MM2 = 91;;
let _X86_REG_MM3 = 92;;
let _X86_REG_MM4 = 93;;
let _X86_REG_MM5 = 94;;
let _X86_REG_MM6 = 95;;
let _X86_REG_MM7 = 96;;
let _X86_REG_R8 = 97;;
let _X86_REG_R9 = 98;;
let _X86_REG_R10 = 99;;
let _X86_REG_R11 = 100;;
let _X86_REG_R12 = 101;;
let _X86_REG_R13 = 102;;
let _X86_REG_R14 = 103;;
let _X86_REG_R15 = 104;;
let _X86_REG_ST0 = 105;;
let _X86_REG_ST1 = 106;;
let _X86_REG_ST2 = 107;;
let _X86_REG_ST3 = 108;;
let _X86_REG_ST4 = 109;;
let _X86_REG_ST5 = 110;;
let _X86_REG_ST6 = 111;;
let _X86_REG_ST7 = 112;;
let _X86_REG_XMM0 = 113;;
let _X86_REG_XMM1 = 114;;
let _X86_REG_XMM2 = 115;;
let _X86_REG_XMM3 = 116;;
let _X86_REG_XMM4 = 117;;
let _X86_REG_XMM5 = 118;;
let _X86_REG_XMM6 = 119;;
let _X86_REG_XMM7 = 120;;
let _X86_REG_XMM8 = 121;;
let _X86_REG_XMM9 = 122;;
let _X86_REG_XMM10 = 123;;
let _X86_REG_XMM11 = 124;;
let _X86_REG_XMM12 = 125;;
let _X86_REG_XMM13 = 126;;
let _X86_REG_XMM14 = 127;;
let _X86_REG_XMM15 = 128;;
let _X86_REG_XMM16 = 129;;
let _X86_REG_XMM17 = 130;;
let _X86_REG_XMM18 = 131;;
let _X86_REG_XMM19 = 132;;
let _X86_REG_XMM20 = 133;;
let _X86_REG_XMM21 = 134;;
let _X86_REG_XMM22 = 135;;
let _X86_REG_XMM23 = 136;;
let _X86_REG_XMM24 = 137;;
let _X86_REG_XMM25 = 138;;
let _X86_REG_XMM26 = 139;;
let _X86_REG_XMM27 = 140;;
let _X86_REG_XMM28 = 141;;
let _X86_REG_XMM29 = 142;;
let _X86_REG_XMM30 = 143;;
let _X86_REG_XMM31 = 144;;
let _X86_REG_YMM0 = 145;;
let _X86_REG_YMM1 = 146;;
let _X86_REG_YMM2 = 147;;
let _X86_REG_YMM3 = 148;;
let _X86_REG_YMM4 = 149;;
let _X86_REG_YMM5 = 150;;
let _X86_REG_YMM6 = 151;;
let _X86_REG_YMM7 = 152;;
let _X86_REG_YMM8 = 153;;
let _X86_REG_YMM9 = 154;;
let _X86_REG_YMM10 = 155;;
let _X86_REG_YMM11 = 156;;
let _X86_REG_YMM12 = 157;;
let _X86_REG_YMM13 = 158;;
let _X86_REG_YMM14 = 159;;
let _X86_REG_YMM15 = 160;;
let _X86_REG_YMM16 = 161;;
let _X86_REG_YMM17 = 162;;
let _X86_REG_YMM18 = 163;;
let _X86_REG_YMM19 = 164;;
let _X86_REG_YMM20 = 165;;
let _X86_REG_YMM21 = 166;;
let _X86_REG_YMM22 = 167;;
let _X86_REG_YMM23 = 168;;
let _X86_REG_YMM24 = 169;;
let _X86_REG_YMM25 = 170;;
let _X86_REG_YMM26 = 171;;
let _X86_REG_YMM27 = 172;;
let _X86_REG_YMM28 = 173;;
let _X86_REG_YMM29 = 174;;
let _X86_REG_YMM30 = 175;;
let _X86_REG_YMM31 = 176;;
let _X86_REG_ZMM0 = 177;;
let _X86_REG_ZMM1 = 178;;
let _X86_REG_ZMM2 = 179;;
let _X86_REG_ZMM3 = 180;;
let _X86_REG_ZMM4 = 181;;
let _X86_REG_ZMM5 = 182;;
let _X86_REG_ZMM6 = 183;;
let _X86_REG_ZMM7 = 184;;
let _X86_REG_ZMM8 = 185;;
let _X86_REG_ZMM9 = 186;;
let _X86_REG_ZMM10 = 187;;
let _X86_REG_ZMM11 = 188;;
let _X86_REG_ZMM12 = 189;;
let _X86_REG_ZMM13 = 190;;
let _X86_REG_ZMM14 = 191;;
let _X86_REG_ZMM15 = 192;;
let _X86_REG_ZMM16 = 193;;
let _X86_REG_ZMM17 = 194;;
let _X86_REG_ZMM18 = 195;;
let _X86_REG_ZMM19 = 196;;
let _X86_REG_ZMM20 = 197;;
let _X86_REG_ZMM21 = 198;;
let _X86_REG_ZMM22 = 199;;
let _X86_REG_ZMM23 = 200;;
let _X86_REG_ZMM24 = 201;;
let _X86_REG_ZMM25 = 202;;
let _X86_REG_ZMM26 = 203;;
let _X86_REG_ZMM27 = 204;;
let _X86_REG_ZMM28 = 205;;
let _X86_REG_ZMM29 = 206;;
let _X86_REG_ZMM30 = 207;;
let _X86_REG_ZMM31 = 208;;
let _X86_REG_R8B = 209;;
let _X86_REG_R9B = 210;;
let _X86_REG_R10B = 211;;
let _X86_REG_R11B = 212;;
let _X86_REG_R12B = 213;;
let _X86_REG_R13B = 214;;
let _X86_REG_R14B = 215;;
let _X86_REG_R15B = 216;;
let _X86_REG_R8D = 217;;
let _X86_REG_R9D = 218;;
let _X86_REG_R10D = 219;;
let _X86_REG_R11D = 220;;
let _X86_REG_R12D = 221;;
let _X86_REG_R13D = 222;;
let _X86_REG_R14D = 223;;
let _X86_REG_R15D = 224;;
let _X86_REG_R8W = 225;;
let _X86_REG_R9W = 226;;
let _X86_REG_R10W = 227;;
let _X86_REG_R11W = 228;;
let _X86_REG_R12W = 229;;
let _X86_REG_R13W = 230;;
let _X86_REG_R14W = 231;;
let _X86_REG_R15W = 232;;
let _X86_REG_MAX = 233;;

(*  Operand type for instruction's operands *)

let _X86_OP_INVALID = 0;;
let _X86_OP_REG = 1;;
let _X86_OP_IMM = 2;;
let _X86_OP_FP = 3;;
let _X86_OP_MEM = 4;;

(*  X86 instructions *)

let _X86_INS_INVALID = 0;;
let _X86_INS_AAA = 1;;
let _X86_INS_AAD = 2;;
let _X86_INS_AAM = 3;;
let _X86_INS_AAS = 4;;
let _X86_INS_FABS = 5;;
let _X86_INS_ADC = 6;;
let _X86_INS_ADCX = 7;;
let _X86_INS_ADD = 8;;
let _X86_INS_ADDPD = 9;;
let _X86_INS_ADDPS = 10;;
let _X86_INS_ADDSD = 11;;
let _X86_INS_ADDSS = 12;;
let _X86_INS_ADDSUBPD = 13;;
let _X86_INS_ADDSUBPS = 14;;
let _X86_INS_FADD = 15;;
let _X86_INS_FIADD = 16;;
let _X86_INS_FADDP = 17;;
let _X86_INS_ADOX = 18;;
let _X86_INS_AESDECLAST = 19;;
let _X86_INS_AESDEC = 20;;
let _X86_INS_AESENCLAST = 21;;
let _X86_INS_AESENC = 22;;
let _X86_INS_AESIMC = 23;;
let _X86_INS_AESKEYGENASSIST = 24;;
let _X86_INS_AND = 25;;
let _X86_INS_ANDN = 26;;
let _X86_INS_ANDNPD = 27;;
let _X86_INS_ANDNPS = 28;;
let _X86_INS_ANDPD = 29;;
let _X86_INS_ANDPS = 30;;
let _X86_INS_ARPL = 31;;
let _X86_INS_BEXTR = 32;;
let _X86_INS_BLCFILL = 33;;
let _X86_INS_BLCI = 34;;
let _X86_INS_BLCIC = 35;;
let _X86_INS_BLCMSK = 36;;
let _X86_INS_BLCS = 37;;
let _X86_INS_BLENDPD = 38;;
let _X86_INS_BLENDPS = 39;;
let _X86_INS_BLENDVPD = 40;;
let _X86_INS_BLENDVPS = 41;;
let _X86_INS_BLSFILL = 42;;
let _X86_INS_BLSI = 43;;
let _X86_INS_BLSIC = 44;;
let _X86_INS_BLSMSK = 45;;
let _X86_INS_BLSR = 46;;
let _X86_INS_BOUND = 47;;
let _X86_INS_BSF = 48;;
let _X86_INS_BSR = 49;;
let _X86_INS_BSWAP = 50;;
let _X86_INS_BT = 51;;
let _X86_INS_BTC = 52;;
let _X86_INS_BTR = 53;;
let _X86_INS_BTS = 54;;
let _X86_INS_BZHI = 55;;
let _X86_INS_CALL = 56;;
let _X86_INS_CBW = 57;;
let _X86_INS_CDQ = 58;;
let _X86_INS_CDQE = 59;;
let _X86_INS_FCHS = 60;;
let _X86_INS_CLAC = 61;;
let _X86_INS_CLC = 62;;
let _X86_INS_CLD = 63;;
let _X86_INS_CLFLUSH = 64;;
let _X86_INS_CLGI = 65;;
let _X86_INS_CLI = 66;;
let _X86_INS_CLTS = 67;;
let _X86_INS_CMC = 68;;
let _X86_INS_CMOVA = 69;;
let _X86_INS_CMOVAE = 70;;
let _X86_INS_CMOVB = 71;;
let _X86_INS_CMOVBE = 72;;
let _X86_INS_FCMOVBE = 73;;
let _X86_INS_FCMOVB = 74;;
let _X86_INS_CMOVE = 75;;
let _X86_INS_FCMOVE = 76;;
let _X86_INS_CMOVG = 77;;
let _X86_INS_CMOVGE = 78;;
let _X86_INS_CMOVL = 79;;
let _X86_INS_CMOVLE = 80;;
let _X86_INS_FCMOVNBE = 81;;
let _X86_INS_FCMOVNB = 82;;
let _X86_INS_CMOVNE = 83;;
let _X86_INS_FCMOVNE = 84;;
let _X86_INS_CMOVNO = 85;;
let _X86_INS_CMOVNP = 86;;
let _X86_INS_FCMOVNU = 87;;
let _X86_INS_CMOVNS = 88;;
let _X86_INS_CMOVO = 89;;
let _X86_INS_CMOVP = 90;;
let _X86_INS_FCMOVU = 91;;
let _X86_INS_CMOVS = 92;;
let _X86_INS_CMP = 93;;
let _X86_INS_CMPPD = 94;;
let _X86_INS_CMPPS = 95;;
let _X86_INS_CMPSW = 96;;
let _X86_INS_CMPSD = 97;;
let _X86_INS_CMPSQ = 98;;
let _X86_INS_CMPSB = 99;;
let _X86_INS_CMPSS = 100;;
let _X86_INS_CMPXCHG16B = 101;;
let _X86_INS_CMPXCHG = 102;;
let _X86_INS_CMPXCHG8B = 103;;
let _X86_INS_COMISD = 104;;
let _X86_INS_COMISS = 105;;
let _X86_INS_FCOMP = 106;;
let _X86_INS_FCOMPI = 107;;
let _X86_INS_FCOMI = 108;;
let _X86_INS_FCOM = 109;;
let _X86_INS_FCOS = 110;;
let _X86_INS_CPUID = 111;;
let _X86_INS_CQO = 112;;
let _X86_INS_CRC32 = 113;;
let _X86_INS_CS = 114;;
let _X86_INS_CVTDQ2PD = 115;;
let _X86_INS_CVTDQ2PS = 116;;
let _X86_INS_CVTPD2DQ = 117;;
let _X86_INS_CVTPD2PS = 118;;
let _X86_INS_CVTPS2DQ = 119;;
let _X86_INS_CVTPS2PD = 120;;
let _X86_INS_CVTSD2SI = 121;;
let _X86_INS_CVTSD2SS = 122;;
let _X86_INS_CVTSI2SD = 123;;
let _X86_INS_CVTSI2SS = 124;;
let _X86_INS_CVTSS2SD = 125;;
let _X86_INS_CVTSS2SI = 126;;
let _X86_INS_CVTTPD2DQ = 127;;
let _X86_INS_CVTTPS2DQ = 128;;
let _X86_INS_CVTTSD2SI = 129;;
let _X86_INS_CVTTSS2SI = 130;;
let _X86_INS_CWD = 131;;
let _X86_INS_CWDE = 132;;
let _X86_INS_DAA = 133;;
let _X86_INS_DAS = 134;;
let _X86_INS_DATA16 = 135;;
let _X86_INS_DEC = 136;;
let _X86_INS_DIV = 137;;
let _X86_INS_DIVPD = 138;;
let _X86_INS_DIVPS = 139;;
let _X86_INS_FDIVR = 140;;
let _X86_INS_FIDIVR = 141;;
let _X86_INS_FDIVRP = 142;;
let _X86_INS_DIVSD = 143;;
let _X86_INS_DIVSS = 144;;
let _X86_INS_FDIV = 145;;
let _X86_INS_FIDIV = 146;;
let _X86_INS_FDIVP = 147;;
let _X86_INS_DPPD = 148;;
let _X86_INS_DPPS = 149;;
let _X86_INS_DS = 150;;
let _X86_INS_ENTER = 151;;
let _X86_INS_ES = 152;;
let _X86_INS_EXTRACTPS = 153;;
let _X86_INS_EXTRQ = 154;;
let _X86_INS_F2XM1 = 155;;
let _X86_INS_LCALL = 156;;
let _X86_INS_LJMP = 157;;
let _X86_INS_FBLD = 158;;
let _X86_INS_FBSTP = 159;;
let _X86_INS_FCOMPP = 160;;
let _X86_INS_FDECSTP = 161;;
let _X86_INS_FEMMS = 162;;
let _X86_INS_FFREE = 163;;
let _X86_INS_FICOM = 164;;
let _X86_INS_FICOMP = 165;;
let _X86_INS_FINCSTP = 166;;
let _X86_INS_FLDCW = 167;;
let _X86_INS_FLDENV = 168;;
let _X86_INS_FLDL2E = 169;;
let _X86_INS_FLDL2T = 170;;
let _X86_INS_FLDLG2 = 171;;
let _X86_INS_FLDLN2 = 172;;
let _X86_INS_FLDPI = 173;;
let _X86_INS_FNCLEX = 174;;
let _X86_INS_FNINIT = 175;;
let _X86_INS_FNOP = 176;;
let _X86_INS_FNSTCW = 177;;
let _X86_INS_FNSTSW = 178;;
let _X86_INS_FPATAN = 179;;
let _X86_INS_FPREM = 180;;
let _X86_INS_FPREM1 = 181;;
let _X86_INS_FPTAN = 182;;
let _X86_INS_FRNDINT = 183;;
let _X86_INS_FRSTOR = 184;;
let _X86_INS_FNSAVE = 185;;
let _X86_INS_FSCALE = 186;;
let _X86_INS_FSETPM = 187;;
let _X86_INS_FSINCOS = 188;;
let _X86_INS_FNSTENV = 189;;
let _X86_INS_FS = 190;;
let _X86_INS_FXAM = 191;;
let _X86_INS_FXRSTOR = 192;;
let _X86_INS_FXRSTOR64 = 193;;
let _X86_INS_FXSAVE = 194;;
let _X86_INS_FXSAVE64 = 195;;
let _X86_INS_FXTRACT = 196;;
let _X86_INS_FYL2X = 197;;
let _X86_INS_FYL2XP1 = 198;;
let _X86_INS_MOVAPD = 199;;
let _X86_INS_MOVAPS = 200;;
let _X86_INS_ORPD = 201;;
let _X86_INS_ORPS = 202;;
let _X86_INS_VMOVAPD = 203;;
let _X86_INS_VMOVAPS = 204;;
let _X86_INS_XORPD = 205;;
let _X86_INS_XORPS = 206;;
let _X86_INS_GETSEC = 207;;
let _X86_INS_GS = 208;;
let _X86_INS_HADDPD = 209;;
let _X86_INS_HADDPS = 210;;
let _X86_INS_HLT = 211;;
let _X86_INS_HSUBPD = 212;;
let _X86_INS_HSUBPS = 213;;
let _X86_INS_IDIV = 214;;
let _X86_INS_FILD = 215;;
let _X86_INS_IMUL = 216;;
let _X86_INS_INSW = 217;;
let _X86_INS_IN = 218;;
let _X86_INS_INSD = 219;;
let _X86_INS_INSB = 220;;
let _X86_INS_INC = 221;;
let _X86_INS_INSERTPS = 222;;
let _X86_INS_INSERTQ = 223;;
let _X86_INS_INT = 224;;
let _X86_INS_INT1 = 225;;
let _X86_INS_INT3 = 226;;
let _X86_INS_INTO = 227;;
let _X86_INS_INVD = 228;;
let _X86_INS_INVEPT = 229;;
let _X86_INS_INVLPG = 230;;
let _X86_INS_INVLPGA = 231;;
let _X86_INS_INVPCID = 232;;
let _X86_INS_INVVPID = 233;;
let _X86_INS_IRET = 234;;
let _X86_INS_IRETD = 235;;
let _X86_INS_IRETQ = 236;;
let _X86_INS_FISTTP = 237;;
let _X86_INS_FIST = 238;;
let _X86_INS_FISTP = 239;;
let _X86_INS_UCOMISD = 240;;
let _X86_INS_UCOMISS = 241;;
let _X86_INS_VCMP = 242;;
let _X86_INS_VCOMISD = 243;;
let _X86_INS_VCOMISS = 244;;
let _X86_INS_VCVTSD2SS = 245;;
let _X86_INS_VCVTSI2SD = 246;;
let _X86_INS_VCVTSI2SS = 247;;
let _X86_INS_VCVTSS2SD = 248;;
let _X86_INS_VCVTTSD2SI = 249;;
let _X86_INS_VCVTTSD2USI = 250;;
let _X86_INS_VCVTTSS2SI = 251;;
let _X86_INS_VCVTTSS2USI = 252;;
let _X86_INS_VCVTUSI2SD = 253;;
let _X86_INS_VCVTUSI2SS = 254;;
let _X86_INS_VUCOMISD = 255;;
let _X86_INS_VUCOMISS = 256;;
let _X86_INS_JAE = 257;;
let _X86_INS_JA = 258;;
let _X86_INS_JBE = 259;;
let _X86_INS_JB = 260;;
let _X86_INS_JCXZ = 261;;
let _X86_INS_JECXZ = 262;;
let _X86_INS_JE = 263;;
let _X86_INS_JGE = 264;;
let _X86_INS_JG = 265;;
let _X86_INS_JLE = 266;;
let _X86_INS_JL = 267;;
let _X86_INS_JMP = 268;;
let _X86_INS_JNE = 269;;
let _X86_INS_JNO = 270;;
let _X86_INS_JNP = 271;;
let _X86_INS_JNS = 272;;
let _X86_INS_JO = 273;;
let _X86_INS_JP = 274;;
let _X86_INS_JRCXZ = 275;;
let _X86_INS_JS = 276;;
let _X86_INS_KANDNW = 277;;
let _X86_INS_KANDW = 278;;
let _X86_INS_KMOVW = 279;;
let _X86_INS_KNOTW = 280;;
let _X86_INS_KORTESTW = 281;;
let _X86_INS_KORW = 282;;
let _X86_INS_KSHIFTLW = 283;;
let _X86_INS_KSHIFTRW = 284;;
let _X86_INS_KUNPCKBW = 285;;
let _X86_INS_KXNORW = 286;;
let _X86_INS_KXORW = 287;;
let _X86_INS_LAHF = 288;;
let _X86_INS_LAR = 289;;
let _X86_INS_LDDQU = 290;;
let _X86_INS_LDMXCSR = 291;;
let _X86_INS_LDS = 292;;
let _X86_INS_FLDZ = 293;;
let _X86_INS_FLD1 = 294;;
let _X86_INS_FLD = 295;;
let _X86_INS_LEA = 296;;
let _X86_INS_LEAVE = 297;;
let _X86_INS_LES = 298;;
let _X86_INS_LFENCE = 299;;
let _X86_INS_LFS = 300;;
let _X86_INS_LGDT = 301;;
let _X86_INS_LGS = 302;;
let _X86_INS_LIDT = 303;;
let _X86_INS_LLDT = 304;;
let _X86_INS_LMSW = 305;;
let _X86_INS_OR = 306;;
let _X86_INS_LOCK = 307;;
let _X86_INS_SUB = 308;;
let _X86_INS_XOR = 309;;
let _X86_INS_LODSB = 310;;
let _X86_INS_LODSD = 311;;
let _X86_INS_LODSQ = 312;;
let _X86_INS_LODSW = 313;;
let _X86_INS_LOOP = 314;;
let _X86_INS_LOOPE = 315;;
let _X86_INS_LOOPNE = 316;;
let _X86_INS_RETF = 317;;
let _X86_INS_RETFQ = 318;;
let _X86_INS_LSL = 319;;
let _X86_INS_LSS = 320;;
let _X86_INS_LTR = 321;;
let _X86_INS_XADD = 322;;
let _X86_INS_LZCNT = 323;;
let _X86_INS_MASKMOVDQU = 324;;
let _X86_INS_MAXPD = 325;;
let _X86_INS_MAXPS = 326;;
let _X86_INS_MAXSD = 327;;
let _X86_INS_MAXSS = 328;;
let _X86_INS_MFENCE = 329;;
let _X86_INS_MINPD = 330;;
let _X86_INS_MINPS = 331;;
let _X86_INS_MINSD = 332;;
let _X86_INS_MINSS = 333;;
let _X86_INS_CVTPD2PI = 334;;
let _X86_INS_CVTPI2PD = 335;;
let _X86_INS_CVTPI2PS = 336;;
let _X86_INS_CVTPS2PI = 337;;
let _X86_INS_CVTTPD2PI = 338;;
let _X86_INS_CVTTPS2PI = 339;;
let _X86_INS_EMMS = 340;;
let _X86_INS_MASKMOVQ = 341;;
let _X86_INS_MOVD = 342;;
let _X86_INS_MOVDQ2Q = 343;;
let _X86_INS_MOVNTQ = 344;;
let _X86_INS_MOVQ2DQ = 345;;
let _X86_INS_MOVQ = 346;;
let _X86_INS_PABSB = 347;;
let _X86_INS_PABSD = 348;;
let _X86_INS_PABSW = 349;;
let _X86_INS_PACKSSDW = 350;;
let _X86_INS_PACKSSWB = 351;;
let _X86_INS_PACKUSWB = 352;;
let _X86_INS_PADDB = 353;;
let _X86_INS_PADDD = 354;;
let _X86_INS_PADDQ = 355;;
let _X86_INS_PADDSB = 356;;
let _X86_INS_PADDSW = 357;;
let _X86_INS_PADDUSB = 358;;
let _X86_INS_PADDUSW = 359;;
let _X86_INS_PADDW = 360;;
let _X86_INS_PALIGNR = 361;;
let _X86_INS_PANDN = 362;;
let _X86_INS_PAND = 363;;
let _X86_INS_PAVGB = 364;;
let _X86_INS_PAVGW = 365;;
let _X86_INS_PCMPEQB = 366;;
let _X86_INS_PCMPEQD = 367;;
let _X86_INS_PCMPEQW = 368;;
let _X86_INS_PCMPGTB = 369;;
let _X86_INS_PCMPGTD = 370;;
let _X86_INS_PCMPGTW = 371;;
let _X86_INS_PEXTRW = 372;;
let _X86_INS_PHADDSW = 373;;
let _X86_INS_PHADDW = 374;;
let _X86_INS_PHADDD = 375;;
let _X86_INS_PHSUBD = 376;;
let _X86_INS_PHSUBSW = 377;;
let _X86_INS_PHSUBW = 378;;
let _X86_INS_PINSRW = 379;;
let _X86_INS_PMADDUBSW = 380;;
let _X86_INS_PMADDWD = 381;;
let _X86_INS_PMAXSW = 382;;
let _X86_INS_PMAXUB = 383;;
let _X86_INS_PMINSW = 384;;
let _X86_INS_PMINUB = 385;;
let _X86_INS_PMOVMSKB = 386;;
let _X86_INS_PMULHRSW = 387;;
let _X86_INS_PMULHUW = 388;;
let _X86_INS_PMULHW = 389;;
let _X86_INS_PMULLW = 390;;
let _X86_INS_PMULUDQ = 391;;
let _X86_INS_POR = 392;;
let _X86_INS_PSADBW = 393;;
let _X86_INS_PSHUFB = 394;;
let _X86_INS_PSHUFW = 395;;
let _X86_INS_PSIGNB = 396;;
let _X86_INS_PSIGND = 397;;
let _X86_INS_PSIGNW = 398;;
let _X86_INS_PSLLD = 399;;
let _X86_INS_PSLLQ = 400;;
let _X86_INS_PSLLW = 401;;
let _X86_INS_PSRAD = 402;;
let _X86_INS_PSRAW = 403;;
let _X86_INS_PSRLD = 404;;
let _X86_INS_PSRLQ = 405;;
let _X86_INS_PSRLW = 406;;
let _X86_INS_PSUBB = 407;;
let _X86_INS_PSUBD = 408;;
let _X86_INS_PSUBQ = 409;;
let _X86_INS_PSUBSB = 410;;
let _X86_INS_PSUBSW = 411;;
let _X86_INS_PSUBUSB = 412;;
let _X86_INS_PSUBUSW = 413;;
let _X86_INS_PSUBW = 414;;
let _X86_INS_PUNPCKHBW = 415;;
let _X86_INS_PUNPCKHDQ = 416;;
let _X86_INS_PUNPCKHWD = 417;;
let _X86_INS_PUNPCKLBW = 418;;
let _X86_INS_PUNPCKLDQ = 419;;
let _X86_INS_PUNPCKLWD = 420;;
let _X86_INS_PXOR = 421;;
let _X86_INS_MONITOR = 422;;
let _X86_INS_MONTMUL = 423;;
let _X86_INS_MOV = 424;;
let _X86_INS_MOVABS = 425;;
let _X86_INS_MOVBE = 426;;
let _X86_INS_MOVDDUP = 427;;
let _X86_INS_MOVDQA = 428;;
let _X86_INS_MOVDQU = 429;;
let _X86_INS_MOVHLPS = 430;;
let _X86_INS_MOVHPD = 431;;
let _X86_INS_MOVHPS = 432;;
let _X86_INS_MOVLHPS = 433;;
let _X86_INS_MOVLPD = 434;;
let _X86_INS_MOVLPS = 435;;
let _X86_INS_MOVMSKPD = 436;;
let _X86_INS_MOVMSKPS = 437;;
let _X86_INS_MOVNTDQA = 438;;
let _X86_INS_MOVNTDQ = 439;;
let _X86_INS_MOVNTI = 440;;
let _X86_INS_MOVNTPD = 441;;
let _X86_INS_MOVNTPS = 442;;
let _X86_INS_MOVNTSD = 443;;
let _X86_INS_MOVNTSS = 444;;
let _X86_INS_MOVSB = 445;;
let _X86_INS_MOVSD = 446;;
let _X86_INS_MOVSHDUP = 447;;
let _X86_INS_MOVSLDUP = 448;;
let _X86_INS_MOVSQ = 449;;
let _X86_INS_MOVSS = 450;;
let _X86_INS_MOVSW = 451;;
let _X86_INS_MOVSX = 452;;
let _X86_INS_MOVSXD = 453;;
let _X86_INS_MOVUPD = 454;;
let _X86_INS_MOVUPS = 455;;
let _X86_INS_MOVZX = 456;;
let _X86_INS_MPSADBW = 457;;
let _X86_INS_MUL = 458;;
let _X86_INS_MULPD = 459;;
let _X86_INS_MULPS = 460;;
let _X86_INS_MULSD = 461;;
let _X86_INS_MULSS = 462;;
let _X86_INS_MULX = 463;;
let _X86_INS_FMUL = 464;;
let _X86_INS_FIMUL = 465;;
let _X86_INS_FMULP = 466;;
let _X86_INS_MWAIT = 467;;
let _X86_INS_NEG = 468;;
let _X86_INS_NOP = 469;;
let _X86_INS_NOT = 470;;
let _X86_INS_OUT = 471;;
let _X86_INS_OUTSB = 472;;
let _X86_INS_OUTSD = 473;;
let _X86_INS_OUTSW = 474;;
let _X86_INS_PACKUSDW = 475;;
let _X86_INS_PAUSE = 476;;
let _X86_INS_PAVGUSB = 477;;
let _X86_INS_PBLENDVB = 478;;
let _X86_INS_PBLENDW = 479;;
let _X86_INS_PCLMULQDQ = 480;;
let _X86_INS_PCMPEQQ = 481;;
let _X86_INS_PCMPESTRI = 482;;
let _X86_INS_PCMPESTRM = 483;;
let _X86_INS_PCMPGTQ = 484;;
let _X86_INS_PCMPISTRI = 485;;
let _X86_INS_PCMPISTRM = 486;;
let _X86_INS_PDEP = 487;;
let _X86_INS_PEXT = 488;;
let _X86_INS_PEXTRB = 489;;
let _X86_INS_PEXTRD = 490;;
let _X86_INS_PEXTRQ = 491;;
let _X86_INS_PF2ID = 492;;
let _X86_INS_PF2IW = 493;;
let _X86_INS_PFACC = 494;;
let _X86_INS_PFADD = 495;;
let _X86_INS_PFCMPEQ = 496;;
let _X86_INS_PFCMPGE = 497;;
let _X86_INS_PFCMPGT = 498;;
let _X86_INS_PFMAX = 499;;
let _X86_INS_PFMIN = 500;;
let _X86_INS_PFMUL = 501;;
let _X86_INS_PFNACC = 502;;
let _X86_INS_PFPNACC = 503;;
let _X86_INS_PFRCPIT1 = 504;;
let _X86_INS_PFRCPIT2 = 505;;
let _X86_INS_PFRCP = 506;;
let _X86_INS_PFRSQIT1 = 507;;
let _X86_INS_PFRSQRT = 508;;
let _X86_INS_PFSUBR = 509;;
let _X86_INS_PFSUB = 510;;
let _X86_INS_PHMINPOSUW = 511;;
let _X86_INS_PI2FD = 512;;
let _X86_INS_PI2FW = 513;;
let _X86_INS_PINSRB = 514;;
let _X86_INS_PINSRD = 515;;
let _X86_INS_PINSRQ = 516;;
let _X86_INS_PMAXSB = 517;;
let _X86_INS_PMAXSD = 518;;
let _X86_INS_PMAXUD = 519;;
let _X86_INS_PMAXUW = 520;;
let _X86_INS_PMINSB = 521;;
let _X86_INS_PMINSD = 522;;
let _X86_INS_PMINUD = 523;;
let _X86_INS_PMINUW = 524;;
let _X86_INS_PMOVSXBD = 525;;
let _X86_INS_PMOVSXBQ = 526;;
let _X86_INS_PMOVSXBW = 527;;
let _X86_INS_PMOVSXDQ = 528;;
let _X86_INS_PMOVSXWD = 529;;
let _X86_INS_PMOVSXWQ = 530;;
let _X86_INS_PMOVZXBD = 531;;
let _X86_INS_PMOVZXBQ = 532;;
let _X86_INS_PMOVZXBW = 533;;
let _X86_INS_PMOVZXDQ = 534;;
let _X86_INS_PMOVZXWD = 535;;
let _X86_INS_PMOVZXWQ = 536;;
let _X86_INS_PMULDQ = 537;;
let _X86_INS_PMULHRW = 538;;
let _X86_INS_PMULLD = 539;;
let _X86_INS_POP = 540;;
let _X86_INS_POPAW = 541;;
let _X86_INS_POPAL = 542;;
let _X86_INS_POPCNT = 543;;
let _X86_INS_POPF = 544;;
let _X86_INS_POPFD = 545;;
let _X86_INS_POPFQ = 546;;
let _X86_INS_PREFETCH = 547;;
let _X86_INS_PREFETCHNTA = 548;;
let _X86_INS_PREFETCHT0 = 549;;
let _X86_INS_PREFETCHT1 = 550;;
let _X86_INS_PREFETCHT2 = 551;;
let _X86_INS_PREFETCHW = 552;;
let _X86_INS_PSHUFD = 553;;
let _X86_INS_PSHUFHW = 554;;
let _X86_INS_PSHUFLW = 555;;
let _X86_INS_PSLLDQ = 556;;
let _X86_INS_PSRLDQ = 557;;
let _X86_INS_PSWAPD = 558;;
let _X86_INS_PTEST = 559;;
let _X86_INS_PUNPCKHQDQ = 560;;
let _X86_INS_PUNPCKLQDQ = 561;;
let _X86_INS_PUSH = 562;;
let _X86_INS_PUSHAW = 563;;
let _X86_INS_PUSHAL = 564;;
let _X86_INS_PUSHF = 565;;
let _X86_INS_PUSHFD = 566;;
let _X86_INS_PUSHFQ = 567;;
let _X86_INS_RCL = 568;;
let _X86_INS_RCPPS = 569;;
let _X86_INS_RCPSS = 570;;
let _X86_INS_RCR = 571;;
let _X86_INS_RDFSBASE = 572;;
let _X86_INS_RDGSBASE = 573;;
let _X86_INS_RDMSR = 574;;
let _X86_INS_RDPMC = 575;;
let _X86_INS_RDRAND = 576;;
let _X86_INS_RDSEED = 577;;
let _X86_INS_RDTSC = 578;;
let _X86_INS_RDTSCP = 579;;
let _X86_INS_REPNE = 580;;
let _X86_INS_REP = 581;;
let _X86_INS_RET = 582;;
let _X86_INS_REX64 = 583;;
let _X86_INS_ROL = 584;;
let _X86_INS_ROR = 585;;
let _X86_INS_RORX = 586;;
let _X86_INS_ROUNDPD = 587;;
let _X86_INS_ROUNDPS = 588;;
let _X86_INS_ROUNDSD = 589;;
let _X86_INS_ROUNDSS = 590;;
let _X86_INS_RSM = 591;;
let _X86_INS_RSQRTPS = 592;;
let _X86_INS_RSQRTSS = 593;;
let _X86_INS_SAHF = 594;;
let _X86_INS_SAL = 595;;
let _X86_INS_SALC = 596;;
let _X86_INS_SAR = 597;;
let _X86_INS_SARX = 598;;
let _X86_INS_SBB = 599;;
let _X86_INS_SCASW = 600;;
let _X86_INS_SCASD = 601;;
let _X86_INS_SCASQ = 602;;
let _X86_INS_SCASB = 603;;
let _X86_INS_SETAE = 604;;
let _X86_INS_SETA = 605;;
let _X86_INS_SETBE = 606;;
let _X86_INS_SETB = 607;;
let _X86_INS_SETE = 608;;
let _X86_INS_SETGE = 609;;
let _X86_INS_SETG = 610;;
let _X86_INS_SETLE = 611;;
let _X86_INS_SETL = 612;;
let _X86_INS_SETNE = 613;;
let _X86_INS_SETNO = 614;;
let _X86_INS_SETNP = 615;;
let _X86_INS_SETNS = 616;;
let _X86_INS_SETO = 617;;
let _X86_INS_SETP = 618;;
let _X86_INS_SETS = 619;;
let _X86_INS_SFENCE = 620;;
let _X86_INS_SGDT = 621;;
let _X86_INS_SHA1MSG1 = 622;;
let _X86_INS_SHA1MSG2 = 623;;
let _X86_INS_SHA1NEXTE = 624;;
let _X86_INS_SHA1RNDS4 = 625;;
let _X86_INS_SHA256MSG1 = 626;;
let _X86_INS_SHA256MSG2 = 627;;
let _X86_INS_SHA256RNDS2 = 628;;
let _X86_INS_SHL = 629;;
let _X86_INS_SHLD = 630;;
let _X86_INS_SHLX = 631;;
let _X86_INS_SHR = 632;;
let _X86_INS_SHRD = 633;;
let _X86_INS_SHRX = 634;;
let _X86_INS_SHUFPD = 635;;
let _X86_INS_SHUFPS = 636;;
let _X86_INS_SIDT = 637;;
let _X86_INS_FSIN = 638;;
let _X86_INS_SKINIT = 639;;
let _X86_INS_SLDT = 640;;
let _X86_INS_SMSW = 641;;
let _X86_INS_SQRTPD = 642;;
let _X86_INS_SQRTPS = 643;;
let _X86_INS_SQRTSD = 644;;
let _X86_INS_SQRTSS = 645;;
let _X86_INS_FSQRT = 646;;
let _X86_INS_SS = 647;;
let _X86_INS_STAC = 648;;
let _X86_INS_STC = 649;;
let _X86_INS_STD = 650;;
let _X86_INS_STGI = 651;;
let _X86_INS_STI = 652;;
let _X86_INS_STMXCSR = 653;;
let _X86_INS_STOSB = 654;;
let _X86_INS_STOSD = 655;;
let _X86_INS_STOSQ = 656;;
let _X86_INS_STOSW = 657;;
let _X86_INS_STR = 658;;
let _X86_INS_FST = 659;;
let _X86_INS_FSTP = 660;;
let _X86_INS_FSTPNCE = 661;;
let _X86_INS_SUBPD = 662;;
let _X86_INS_SUBPS = 663;;
let _X86_INS_FSUBR = 664;;
let _X86_INS_FISUBR = 665;;
let _X86_INS_FSUBRP = 666;;
let _X86_INS_SUBSD = 667;;
let _X86_INS_SUBSS = 668;;
let _X86_INS_FSUB = 669;;
let _X86_INS_FISUB = 670;;
let _X86_INS_FSUBP = 671;;
let _X86_INS_SWAPGS = 672;;
let _X86_INS_SYSCALL = 673;;
let _X86_INS_SYSENTER = 674;;
let _X86_INS_SYSEXIT = 675;;
let _X86_INS_SYSRET = 676;;
let _X86_INS_T1MSKC = 677;;
let _X86_INS_TEST = 678;;
let _X86_INS_UD2 = 679;;
let _X86_INS_FTST = 680;;
let _X86_INS_TZCNT = 681;;
let _X86_INS_TZMSK = 682;;
let _X86_INS_FUCOMPI = 683;;
let _X86_INS_FUCOMI = 684;;
let _X86_INS_FUCOMPP = 685;;
let _X86_INS_FUCOMP = 686;;
let _X86_INS_FUCOM = 687;;
let _X86_INS_UD2B = 688;;
let _X86_INS_UNPCKHPD = 689;;
let _X86_INS_UNPCKHPS = 690;;
let _X86_INS_UNPCKLPD = 691;;
let _X86_INS_UNPCKLPS = 692;;
let _X86_INS_VADDPD = 693;;
let _X86_INS_VADDPS = 694;;
let _X86_INS_VADDSD = 695;;
let _X86_INS_VADDSS = 696;;
let _X86_INS_VADDSUBPD = 697;;
let _X86_INS_VADDSUBPS = 698;;
let _X86_INS_VAESDECLAST = 699;;
let _X86_INS_VAESDEC = 700;;
let _X86_INS_VAESENCLAST = 701;;
let _X86_INS_VAESENC = 702;;
let _X86_INS_VAESIMC = 703;;
let _X86_INS_VAESKEYGENASSIST = 704;;
let _X86_INS_VALIGND = 705;;
let _X86_INS_VALIGNQ = 706;;
let _X86_INS_VANDNPD = 707;;
let _X86_INS_VANDNPS = 708;;
let _X86_INS_VANDPD = 709;;
let _X86_INS_VANDPS = 710;;
let _X86_INS_VBLENDMPD = 711;;
let _X86_INS_VBLENDMPS = 712;;
let _X86_INS_VBLENDPD = 713;;
let _X86_INS_VBLENDPS = 714;;
let _X86_INS_VBLENDVPD = 715;;
let _X86_INS_VBLENDVPS = 716;;
let _X86_INS_VBROADCASTF128 = 717;;
let _X86_INS_VBROADCASTI128 = 718;;
let _X86_INS_VBROADCASTSD = 719;;
let _X86_INS_VBROADCASTSS = 720;;
let _X86_INS_VCMPPD = 721;;
let _X86_INS_VCMPPS = 722;;
let _X86_INS_VCMPSD = 723;;
let _X86_INS_VCMPSS = 724;;
let _X86_INS_VCVTDQ2PD = 725;;
let _X86_INS_VCVTDQ2PS = 726;;
let _X86_INS_VCVTPD2DQX = 727;;
let _X86_INS_VCVTPD2DQ = 728;;
let _X86_INS_VCVTPD2PSX = 729;;
let _X86_INS_VCVTPD2PS = 730;;
let _X86_INS_VCVTPD2UDQ = 731;;
let _X86_INS_VCVTPH2PS = 732;;
let _X86_INS_VCVTPS2DQ = 733;;
let _X86_INS_VCVTPS2PD = 734;;
let _X86_INS_VCVTPS2PH = 735;;
let _X86_INS_VCVTPS2UDQ = 736;;
let _X86_INS_VCVTSD2SI = 737;;
let _X86_INS_VCVTSD2USI = 738;;
let _X86_INS_VCVTSS2SI = 739;;
let _X86_INS_VCVTSS2USI = 740;;
let _X86_INS_VCVTTPD2DQX = 741;;
let _X86_INS_VCVTTPD2DQ = 742;;
let _X86_INS_VCVTTPD2UDQ = 743;;
let _X86_INS_VCVTTPS2DQ = 744;;
let _X86_INS_VCVTTPS2UDQ = 745;;
let _X86_INS_VCVTUDQ2PD = 746;;
let _X86_INS_VCVTUDQ2PS = 747;;
let _X86_INS_VDIVPD = 748;;
let _X86_INS_VDIVPS = 749;;
let _X86_INS_VDIVSD = 750;;
let _X86_INS_VDIVSS = 751;;
let _X86_INS_VDPPD = 752;;
let _X86_INS_VDPPS = 753;;
let _X86_INS_VERR = 754;;
let _X86_INS_VERW = 755;;
let _X86_INS_VEXTRACTF128 = 756;;
let _X86_INS_VEXTRACTF32X4 = 757;;
let _X86_INS_VEXTRACTF64X4 = 758;;
let _X86_INS_VEXTRACTI128 = 759;;
let _X86_INS_VEXTRACTI32X4 = 760;;
let _X86_INS_VEXTRACTI64X4 = 761;;
let _X86_INS_VEXTRACTPS = 762;;
let _X86_INS_VFMADD132PD = 763;;
let _X86_INS_VFMADD132PS = 764;;
let _X86_INS_VFMADD213PD = 765;;
let _X86_INS_VFMADD213PS = 766;;
let _X86_INS_VFMADDPD = 767;;
let _X86_INS_VFMADD231PD = 768;;
let _X86_INS_VFMADDPS = 769;;
let _X86_INS_VFMADD231PS = 770;;
let _X86_INS_VFMADDSD = 771;;
let _X86_INS_VFMADD213SD = 772;;
let _X86_INS_VFMADD132SD = 773;;
let _X86_INS_VFMADD231SD = 774;;
let _X86_INS_VFMADDSS = 775;;
let _X86_INS_VFMADD213SS = 776;;
let _X86_INS_VFMADD132SS = 777;;
let _X86_INS_VFMADD231SS = 778;;
let _X86_INS_VFMADDSUB132PD = 779;;
let _X86_INS_VFMADDSUB132PS = 780;;
let _X86_INS_VFMADDSUB213PD = 781;;
let _X86_INS_VFMADDSUB213PS = 782;;
let _X86_INS_VFMADDSUBPD = 783;;
let _X86_INS_VFMADDSUB231PD = 784;;
let _X86_INS_VFMADDSUBPS = 785;;
let _X86_INS_VFMADDSUB231PS = 786;;
let _X86_INS_VFMSUB132PD = 787;;
let _X86_INS_VFMSUB132PS = 788;;
let _X86_INS_VFMSUB213PD = 789;;
let _X86_INS_VFMSUB213PS = 790;;
let _X86_INS_VFMSUBADD132PD = 791;;
let _X86_INS_VFMSUBADD132PS = 792;;
let _X86_INS_VFMSUBADD213PD = 793;;
let _X86_INS_VFMSUBADD213PS = 794;;
let _X86_INS_VFMSUBADDPD = 795;;
let _X86_INS_VFMSUBADD231PD = 796;;
let _X86_INS_VFMSUBADDPS = 797;;
let _X86_INS_VFMSUBADD231PS = 798;;
let _X86_INS_VFMSUBPD = 799;;
let _X86_INS_VFMSUB231PD = 800;;
let _X86_INS_VFMSUBPS = 801;;
let _X86_INS_VFMSUB231PS = 802;;
let _X86_INS_VFMSUBSD = 803;;
let _X86_INS_VFMSUB213SD = 804;;
let _X86_INS_VFMSUB132SD = 805;;
let _X86_INS_VFMSUB231SD = 806;;
let _X86_INS_VFMSUBSS = 807;;
let _X86_INS_VFMSUB213SS = 808;;
let _X86_INS_VFMSUB132SS = 809;;
let _X86_INS_VFMSUB231SS = 810;;
let _X86_INS_VFNMADD132PD = 811;;
let _X86_INS_VFNMADD132PS = 812;;
let _X86_INS_VFNMADD213PD = 813;;
let _X86_INS_VFNMADD213PS = 814;;
let _X86_INS_VFNMADDPD = 815;;
let _X86_INS_VFNMADD231PD = 816;;
let _X86_INS_VFNMADDPS = 817;;
let _X86_INS_VFNMADD231PS = 818;;
let _X86_INS_VFNMADDSD = 819;;
let _X86_INS_VFNMADD213SD = 820;;
let _X86_INS_VFNMADD132SD = 821;;
let _X86_INS_VFNMADD231SD = 822;;
let _X86_INS_VFNMADDSS = 823;;
let _X86_INS_VFNMADD213SS = 824;;
let _X86_INS_VFNMADD132SS = 825;;
let _X86_INS_VFNMADD231SS = 826;;
let _X86_INS_VFNMSUB132PD = 827;;
let _X86_INS_VFNMSUB132PS = 828;;
let _X86_INS_VFNMSUB213PD = 829;;
let _X86_INS_VFNMSUB213PS = 830;;
let _X86_INS_VFNMSUBPD = 831;;
let _X86_INS_VFNMSUB231PD = 832;;
let _X86_INS_VFNMSUBPS = 833;;
let _X86_INS_VFNMSUB231PS = 834;;
let _X86_INS_VFNMSUBSD = 835;;
let _X86_INS_VFNMSUB213SD = 836;;
let _X86_INS_VFNMSUB132SD = 837;;
let _X86_INS_VFNMSUB231SD = 838;;
let _X86_INS_VFNMSUBSS = 839;;
let _X86_INS_VFNMSUB213SS = 840;;
let _X86_INS_VFNMSUB132SS = 841;;
let _X86_INS_VFNMSUB231SS = 842;;
let _X86_INS_VFRCZPD = 843;;
let _X86_INS_VFRCZPS = 844;;
let _X86_INS_VFRCZSD = 845;;
let _X86_INS_VFRCZSS = 846;;
let _X86_INS_VORPD = 847;;
let _X86_INS_VORPS = 848;;
let _X86_INS_VXORPD = 849;;
let _X86_INS_VXORPS = 850;;
let _X86_INS_VGATHERDPD = 851;;
let _X86_INS_VGATHERDPS = 852;;
let _X86_INS_VGATHERQPD = 853;;
let _X86_INS_VGATHERQPS = 854;;
let _X86_INS_VHADDPD = 855;;
let _X86_INS_VHADDPS = 856;;
let _X86_INS_VHSUBPD = 857;;
let _X86_INS_VHSUBPS = 858;;
let _X86_INS_VINSERTF128 = 859;;
let _X86_INS_VINSERTF32X4 = 860;;
let _X86_INS_VINSERTF64X4 = 861;;
let _X86_INS_VINSERTI128 = 862;;
let _X86_INS_VINSERTI32X4 = 863;;
let _X86_INS_VINSERTI64X4 = 864;;
let _X86_INS_VINSERTPS = 865;;
let _X86_INS_VLDDQU = 866;;
let _X86_INS_VLDMXCSR = 867;;
let _X86_INS_VMASKMOVDQU = 868;;
let _X86_INS_VMASKMOVPD = 869;;
let _X86_INS_VMASKMOVPS = 870;;
let _X86_INS_VMAXPD = 871;;
let _X86_INS_VMAXPS = 872;;
let _X86_INS_VMAXSD = 873;;
let _X86_INS_VMAXSS = 874;;
let _X86_INS_VMCALL = 875;;
let _X86_INS_VMCLEAR = 876;;
let _X86_INS_VMFUNC = 877;;
let _X86_INS_VMINPD = 878;;
let _X86_INS_VMINPS = 879;;
let _X86_INS_VMINSD = 880;;
let _X86_INS_VMINSS = 881;;
let _X86_INS_VMLAUNCH = 882;;
let _X86_INS_VMLOAD = 883;;
let _X86_INS_VMMCALL = 884;;
let _X86_INS_VMOVQ = 885;;
let _X86_INS_VMOVDDUP = 886;;
let _X86_INS_VMOVD = 887;;
let _X86_INS_VMOVDQA32 = 888;;
let _X86_INS_VMOVDQA64 = 889;;
let _X86_INS_VMOVDQA = 890;;
let _X86_INS_VMOVDQU32 = 891;;
let _X86_INS_VMOVDQU64 = 892;;
let _X86_INS_VMOVDQU = 893;;
let _X86_INS_VMOVHLPS = 894;;
let _X86_INS_VMOVHPD = 895;;
let _X86_INS_VMOVHPS = 896;;
let _X86_INS_VMOVLHPS = 897;;
let _X86_INS_VMOVLPD = 898;;
let _X86_INS_VMOVLPS = 899;;
let _X86_INS_VMOVMSKPD = 900;;
let _X86_INS_VMOVMSKPS = 901;;
let _X86_INS_VMOVNTDQA = 902;;
let _X86_INS_VMOVNTDQ = 903;;
let _X86_INS_VMOVNTPD = 904;;
let _X86_INS_VMOVNTPS = 905;;
let _X86_INS_VMOVSD = 906;;
let _X86_INS_VMOVSHDUP = 907;;
let _X86_INS_VMOVSLDUP = 908;;
let _X86_INS_VMOVSS = 909;;
let _X86_INS_VMOVUPD = 910;;
let _X86_INS_VMOVUPS = 911;;
let _X86_INS_VMPSADBW = 912;;
let _X86_INS_VMPTRLD = 913;;
let _X86_INS_VMPTRST = 914;;
let _X86_INS_VMREAD = 915;;
let _X86_INS_VMRESUME = 916;;
let _X86_INS_VMRUN = 917;;
let _X86_INS_VMSAVE = 918;;
let _X86_INS_VMULPD = 919;;
let _X86_INS_VMULPS = 920;;
let _X86_INS_VMULSD = 921;;
let _X86_INS_VMULSS = 922;;
let _X86_INS_VMWRITE = 923;;
let _X86_INS_VMXOFF = 924;;
let _X86_INS_VMXON = 925;;
let _X86_INS_VPABSB = 926;;
let _X86_INS_VPABSD = 927;;
let _X86_INS_VPABSQ = 928;;
let _X86_INS_VPABSW = 929;;
let _X86_INS_VPACKSSDW = 930;;
let _X86_INS_VPACKSSWB = 931;;
let _X86_INS_VPACKUSDW = 932;;
let _X86_INS_VPACKUSWB = 933;;
let _X86_INS_VPADDB = 934;;
let _X86_INS_VPADDD = 935;;
let _X86_INS_VPADDQ = 936;;
let _X86_INS_VPADDSB = 937;;
let _X86_INS_VPADDSW = 938;;
let _X86_INS_VPADDUSB = 939;;
let _X86_INS_VPADDUSW = 940;;
let _X86_INS_VPADDW = 941;;
let _X86_INS_VPALIGNR = 942;;
let _X86_INS_VPANDD = 943;;
let _X86_INS_VPANDND = 944;;
let _X86_INS_VPANDNQ = 945;;
let _X86_INS_VPANDN = 946;;
let _X86_INS_VPANDQ = 947;;
let _X86_INS_VPAND = 948;;
let _X86_INS_VPAVGB = 949;;
let _X86_INS_VPAVGW = 950;;
let _X86_INS_VPBLENDD = 951;;
let _X86_INS_VPBLENDMD = 952;;
let _X86_INS_VPBLENDMQ = 953;;
let _X86_INS_VPBLENDVB = 954;;
let _X86_INS_VPBLENDW = 955;;
let _X86_INS_VPBROADCASTB = 956;;
let _X86_INS_VPBROADCASTD = 957;;
let _X86_INS_VPBROADCASTMB2Q = 958;;
let _X86_INS_VPBROADCASTMW2D = 959;;
let _X86_INS_VPBROADCASTQ = 960;;
let _X86_INS_VPBROADCASTW = 961;;
let _X86_INS_VPCLMULQDQ = 962;;
let _X86_INS_VPCMOV = 963;;
let _X86_INS_VPCMP = 964;;
let _X86_INS_VPCMPD = 965;;
let _X86_INS_VPCMPEQB = 966;;
let _X86_INS_VPCMPEQD = 967;;
let _X86_INS_VPCMPEQQ = 968;;
let _X86_INS_VPCMPEQW = 969;;
let _X86_INS_VPCMPESTRI = 970;;
let _X86_INS_VPCMPESTRM = 971;;
let _X86_INS_VPCMPGTB = 972;;
let _X86_INS_VPCMPGTD = 973;;
let _X86_INS_VPCMPGTQ = 974;;
let _X86_INS_VPCMPGTW = 975;;
let _X86_INS_VPCMPISTRI = 976;;
let _X86_INS_VPCMPISTRM = 977;;
let _X86_INS_VPCMPQ = 978;;
let _X86_INS_VPCMPUD = 979;;
let _X86_INS_VPCMPUQ = 980;;
let _X86_INS_VPCOMB = 981;;
let _X86_INS_VPCOMD = 982;;
let _X86_INS_VPCOMQ = 983;;
let _X86_INS_VPCOMUB = 984;;
let _X86_INS_VPCOMUD = 985;;
let _X86_INS_VPCOMUQ = 986;;
let _X86_INS_VPCOMUW = 987;;
let _X86_INS_VPCOMW = 988;;
let _X86_INS_VPCONFLICTD = 989;;
let _X86_INS_VPCONFLICTQ = 990;;
let _X86_INS_VPERM2F128 = 991;;
let _X86_INS_VPERM2I128 = 992;;
let _X86_INS_VPERMD = 993;;
let _X86_INS_VPERMI2D = 994;;
let _X86_INS_VPERMI2PD = 995;;
let _X86_INS_VPERMI2PS = 996;;
let _X86_INS_VPERMI2Q = 997;;
let _X86_INS_VPERMIL2PD = 998;;
let _X86_INS_VPERMIL2PS = 999;;
let _X86_INS_VPERMILPD = 1000;;
let _X86_INS_VPERMILPS = 1001;;
let _X86_INS_VPERMPD = 1002;;
let _X86_INS_VPERMPS = 1003;;
let _X86_INS_VPERMQ = 1004;;
let _X86_INS_VPERMT2D = 1005;;
let _X86_INS_VPERMT2PD = 1006;;
let _X86_INS_VPERMT2PS = 1007;;
let _X86_INS_VPERMT2Q = 1008;;
let _X86_INS_VPEXTRB = 1009;;
let _X86_INS_VPEXTRD = 1010;;
let _X86_INS_VPEXTRQ = 1011;;
let _X86_INS_VPEXTRW = 1012;;
let _X86_INS_VPGATHERDD = 1013;;
let _X86_INS_VPGATHERDQ = 1014;;
let _X86_INS_VPGATHERQD = 1015;;
let _X86_INS_VPGATHERQQ = 1016;;
let _X86_INS_VPHADDBD = 1017;;
let _X86_INS_VPHADDBQ = 1018;;
let _X86_INS_VPHADDBW = 1019;;
let _X86_INS_VPHADDDQ = 1020;;
let _X86_INS_VPHADDD = 1021;;
let _X86_INS_VPHADDSW = 1022;;
let _X86_INS_VPHADDUBD = 1023;;
let _X86_INS_VPHADDUBQ = 1024;;
let _X86_INS_VPHADDUBW = 1025;;
let _X86_INS_VPHADDUDQ = 1026;;
let _X86_INS_VPHADDUWD = 1027;;
let _X86_INS_VPHADDUWQ = 1028;;
let _X86_INS_VPHADDWD = 1029;;
let _X86_INS_VPHADDWQ = 1030;;
let _X86_INS_VPHADDW = 1031;;
let _X86_INS_VPHMINPOSUW = 1032;;
let _X86_INS_VPHSUBBW = 1033;;
let _X86_INS_VPHSUBDQ = 1034;;
let _X86_INS_VPHSUBD = 1035;;
let _X86_INS_VPHSUBSW = 1036;;
let _X86_INS_VPHSUBWD = 1037;;
let _X86_INS_VPHSUBW = 1038;;
let _X86_INS_VPINSRB = 1039;;
let _X86_INS_VPINSRD = 1040;;
let _X86_INS_VPINSRQ = 1041;;
let _X86_INS_VPINSRW = 1042;;
let _X86_INS_VPMACSDD = 1043;;
let _X86_INS_VPMACSDQH = 1044;;
let _X86_INS_VPMACSDQL = 1045;;
let _X86_INS_VPMACSSDD = 1046;;
let _X86_INS_VPMACSSDQH = 1047;;
let _X86_INS_VPMACSSDQL = 1048;;
let _X86_INS_VPMACSSWD = 1049;;
let _X86_INS_VPMACSSWW = 1050;;
let _X86_INS_VPMACSWD = 1051;;
let _X86_INS_VPMACSWW = 1052;;
let _X86_INS_VPMADCSSWD = 1053;;
let _X86_INS_VPMADCSWD = 1054;;
let _X86_INS_VPMADDUBSW = 1055;;
let _X86_INS_VPMADDWD = 1056;;
let _X86_INS_VPMASKMOVD = 1057;;
let _X86_INS_VPMASKMOVQ = 1058;;
let _X86_INS_VPMAXSB = 1059;;
let _X86_INS_VPMAXSD = 1060;;
let _X86_INS_VPMAXSQ = 1061;;
let _X86_INS_VPMAXSW = 1062;;
let _X86_INS_VPMAXUB = 1063;;
let _X86_INS_VPMAXUD = 1064;;
let _X86_INS_VPMAXUQ = 1065;;
let _X86_INS_VPMAXUW = 1066;;
let _X86_INS_VPMINSB = 1067;;
let _X86_INS_VPMINSD = 1068;;
let _X86_INS_VPMINSQ = 1069;;
let _X86_INS_VPMINSW = 1070;;
let _X86_INS_VPMINUB = 1071;;
let _X86_INS_VPMINUD = 1072;;
let _X86_INS_VPMINUQ = 1073;;
let _X86_INS_VPMINUW = 1074;;
let _X86_INS_VPMOVDB = 1075;;
let _X86_INS_VPMOVDW = 1076;;
let _X86_INS_VPMOVMSKB = 1077;;
let _X86_INS_VPMOVQB = 1078;;
let _X86_INS_VPMOVQD = 1079;;
let _X86_INS_VPMOVQW = 1080;;
let _X86_INS_VPMOVSDB = 1081;;
let _X86_INS_VPMOVSDW = 1082;;
let _X86_INS_VPMOVSQB = 1083;;
let _X86_INS_VPMOVSQD = 1084;;
let _X86_INS_VPMOVSQW = 1085;;
let _X86_INS_VPMOVSXBD = 1086;;
let _X86_INS_VPMOVSXBQ = 1087;;
let _X86_INS_VPMOVSXBW = 1088;;
let _X86_INS_VPMOVSXDQ = 1089;;
let _X86_INS_VPMOVSXWD = 1090;;
let _X86_INS_VPMOVSXWQ = 1091;;
let _X86_INS_VPMOVUSDB = 1092;;
let _X86_INS_VPMOVUSDW = 1093;;
let _X86_INS_VPMOVUSQB = 1094;;
let _X86_INS_VPMOVUSQD = 1095;;
let _X86_INS_VPMOVUSQW = 1096;;
let _X86_INS_VPMOVZXBD = 1097;;
let _X86_INS_VPMOVZXBQ = 1098;;
let _X86_INS_VPMOVZXBW = 1099;;
let _X86_INS_VPMOVZXDQ = 1100;;
let _X86_INS_VPMOVZXWD = 1101;;
let _X86_INS_VPMOVZXWQ = 1102;;
let _X86_INS_VPMULDQ = 1103;;
let _X86_INS_VPMULHRSW = 1104;;
let _X86_INS_VPMULHUW = 1105;;
let _X86_INS_VPMULHW = 1106;;
let _X86_INS_VPMULLD = 1107;;
let _X86_INS_VPMULLW = 1108;;
let _X86_INS_VPMULUDQ = 1109;;
let _X86_INS_VPORD = 1110;;
let _X86_INS_VPORQ = 1111;;
let _X86_INS_VPOR = 1112;;
let _X86_INS_VPPERM = 1113;;
let _X86_INS_VPROTB = 1114;;
let _X86_INS_VPROTD = 1115;;
let _X86_INS_VPROTQ = 1116;;
let _X86_INS_VPROTW = 1117;;
let _X86_INS_VPSADBW = 1118;;
let _X86_INS_VPSCATTERDD = 1119;;
let _X86_INS_VPSCATTERDQ = 1120;;
let _X86_INS_VPSCATTERQD = 1121;;
let _X86_INS_VPSCATTERQQ = 1122;;
let _X86_INS_VPSHAB = 1123;;
let _X86_INS_VPSHAD = 1124;;
let _X86_INS_VPSHAQ = 1125;;
let _X86_INS_VPSHAW = 1126;;
let _X86_INS_VPSHLB = 1127;;
let _X86_INS_VPSHLD = 1128;;
let _X86_INS_VPSHLQ = 1129;;
let _X86_INS_VPSHLW = 1130;;
let _X86_INS_VPSHUFB = 1131;;
let _X86_INS_VPSHUFD = 1132;;
let _X86_INS_VPSHUFHW = 1133;;
let _X86_INS_VPSHUFLW = 1134;;
let _X86_INS_VPSIGNB = 1135;;
let _X86_INS_VPSIGND = 1136;;
let _X86_INS_VPSIGNW = 1137;;
let _X86_INS_VPSLLDQ = 1138;;
let _X86_INS_VPSLLD = 1139;;
let _X86_INS_VPSLLQ = 1140;;
let _X86_INS_VPSLLVD = 1141;;
let _X86_INS_VPSLLVQ = 1142;;
let _X86_INS_VPSLLW = 1143;;
let _X86_INS_VPSRAD = 1144;;
let _X86_INS_VPSRAQ = 1145;;
let _X86_INS_VPSRAVD = 1146;;
let _X86_INS_VPSRAVQ = 1147;;
let _X86_INS_VPSRAW = 1148;;
let _X86_INS_VPSRLDQ = 1149;;
let _X86_INS_VPSRLD = 1150;;
let _X86_INS_VPSRLQ = 1151;;
let _X86_INS_VPSRLVD = 1152;;
let _X86_INS_VPSRLVQ = 1153;;
let _X86_INS_VPSRLW = 1154;;
let _X86_INS_VPSUBB = 1155;;
let _X86_INS_VPSUBD = 1156;;
let _X86_INS_VPSUBQ = 1157;;
let _X86_INS_VPSUBSB = 1158;;
let _X86_INS_VPSUBSW = 1159;;
let _X86_INS_VPSUBUSB = 1160;;
let _X86_INS_VPSUBUSW = 1161;;
let _X86_INS_VPSUBW = 1162;;
let _X86_INS_VPTESTMD = 1163;;
let _X86_INS_VPTESTMQ = 1164;;
let _X86_INS_VPTESTNMD = 1165;;
let _X86_INS_VPTESTNMQ = 1166;;
let _X86_INS_VPTEST = 1167;;
let _X86_INS_VPUNPCKHBW = 1168;;
let _X86_INS_VPUNPCKHDQ = 1169;;
let _X86_INS_VPUNPCKHQDQ = 1170;;
let _X86_INS_VPUNPCKHWD = 1171;;
let _X86_INS_VPUNPCKLBW = 1172;;
let _X86_INS_VPUNPCKLDQ = 1173;;
let _X86_INS_VPUNPCKLQDQ = 1174;;
let _X86_INS_VPUNPCKLWD = 1175;;
let _X86_INS_VPXORD = 1176;;
let _X86_INS_VPXORQ = 1177;;
let _X86_INS_VPXOR = 1178;;
let _X86_INS_VRCP14PD = 1179;;
let _X86_INS_VRCP14PS = 1180;;
let _X86_INS_VRCP14SD = 1181;;
let _X86_INS_VRCP14SS = 1182;;
let _X86_INS_VRCP28PD = 1183;;
let _X86_INS_VRCP28PS = 1184;;
let _X86_INS_VRCP28SD = 1185;;
let _X86_INS_VRCP28SS = 1186;;
let _X86_INS_VRCPPS = 1187;;
let _X86_INS_VRCPSS = 1188;;
let _X86_INS_VRNDSCALEPD = 1189;;
let _X86_INS_VRNDSCALEPS = 1190;;
let _X86_INS_VRNDSCALESD = 1191;;
let _X86_INS_VRNDSCALESS = 1192;;
let _X86_INS_VROUNDPD = 1193;;
let _X86_INS_VROUNDPS = 1194;;
let _X86_INS_VROUNDSD = 1195;;
let _X86_INS_VROUNDSS = 1196;;
let _X86_INS_VRSQRT14PD = 1197;;
let _X86_INS_VRSQRT14PS = 1198;;
let _X86_INS_VRSQRT14SD = 1199;;
let _X86_INS_VRSQRT14SS = 1200;;
let _X86_INS_VRSQRT28PD = 1201;;
let _X86_INS_VRSQRT28PS = 1202;;
let _X86_INS_VRSQRT28SD = 1203;;
let _X86_INS_VRSQRT28SS = 1204;;
let _X86_INS_VRSQRTPS = 1205;;
let _X86_INS_VRSQRTSS = 1206;;
let _X86_INS_VSCATTERDPD = 1207;;
let _X86_INS_VSCATTERDPS = 1208;;
let _X86_INS_VSCATTERQPD = 1209;;
let _X86_INS_VSCATTERQPS = 1210;;
let _X86_INS_VSHUFPD = 1211;;
let _X86_INS_VSHUFPS = 1212;;
let _X86_INS_VSQRTPD = 1213;;
let _X86_INS_VSQRTPS = 1214;;
let _X86_INS_VSQRTSD = 1215;;
let _X86_INS_VSQRTSS = 1216;;
let _X86_INS_VSTMXCSR = 1217;;
let _X86_INS_VSUBPD = 1218;;
let _X86_INS_VSUBPS = 1219;;
let _X86_INS_VSUBSD = 1220;;
let _X86_INS_VSUBSS = 1221;;
let _X86_INS_VTESTPD = 1222;;
let _X86_INS_VTESTPS = 1223;;
let _X86_INS_VUNPCKHPD = 1224;;
let _X86_INS_VUNPCKHPS = 1225;;
let _X86_INS_VUNPCKLPD = 1226;;
let _X86_INS_VUNPCKLPS = 1227;;
let _X86_INS_VZEROALL = 1228;;
let _X86_INS_VZEROUPPER = 1229;;
let _X86_INS_WAIT = 1230;;
let _X86_INS_WBINVD = 1231;;
let _X86_INS_WRFSBASE = 1232;;
let _X86_INS_WRGSBASE = 1233;;
let _X86_INS_WRMSR = 1234;;
let _X86_INS_XABORT = 1235;;
let _X86_INS_XACQUIRE = 1236;;
let _X86_INS_XBEGIN = 1237;;
let _X86_INS_XCHG = 1238;;
let _X86_INS_FXCH = 1239;;
let _X86_INS_XCRYPTCBC = 1240;;
let _X86_INS_XCRYPTCFB = 1241;;
let _X86_INS_XCRYPTCTR = 1242;;
let _X86_INS_XCRYPTECB = 1243;;
let _X86_INS_XCRYPTOFB = 1244;;
let _X86_INS_XEND = 1245;;
let _X86_INS_XGETBV = 1246;;
let _X86_INS_XLATB = 1247;;
let _X86_INS_XRELEASE = 1248;;
let _X86_INS_XRSTOR = 1249;;
let _X86_INS_XRSTOR64 = 1250;;
let _X86_INS_XSAVE = 1251;;
let _X86_INS_XSAVE64 = 1252;;
let _X86_INS_XSAVEOPT = 1253;;
let _X86_INS_XSAVEOPT64 = 1254;;
let _X86_INS_XSETBV = 1255;;
let _X86_INS_XSHA1 = 1256;;
let _X86_INS_XSHA256 = 1257;;
let _X86_INS_XSTORE = 1258;;
let _X86_INS_XTEST = 1259;;
let _X86_INS_MAX = 1260;;

(*  Group of X86 instructions *)

let _X86_GRP_INVALID = 0;;
let _X86_GRP_3DNOW = 1;;
let _X86_GRP_AES = 2;;
let _X86_GRP_ADX = 3;;
let _X86_GRP_AVX = 4;;
let _X86_GRP_AVX2 = 5;;
let _X86_GRP_AVX512 = 6;;
let _X86_GRP_BMI = 7;;
let _X86_GRP_BMI2 = 8;;
let _X86_GRP_CMOV = 9;;
let _X86_GRP_F16C = 10;;
let _X86_GRP_FMA = 11;;
let _X86_GRP_FMA4 = 12;;
let _X86_GRP_FSGSBASE = 13;;
let _X86_GRP_HLE = 14;;
let _X86_GRP_MMX = 15;;
let _X86_GRP_MODE32 = 16;;
let _X86_GRP_MODE64 = 17;;
let _X86_GRP_RTM = 18;;
let _X86_GRP_SHA = 19;;
let _X86_GRP_SSE1 = 20;;
let _X86_GRP_SSE2 = 21;;
let _X86_GRP_SSE3 = 22;;
let _X86_GRP_SSE41 = 23;;
let _X86_GRP_SSE42 = 24;;
let _X86_GRP_SSE4A = 25;;
let _X86_GRP_SSSE3 = 26;;
let _X86_GRP_PCLMUL = 27;;
let _X86_GRP_XOP = 28;;
let _X86_GRP_CDI = 29;;
let _X86_GRP_ERI = 30;;
let _X86_GRP_TBM = 31;;
let _X86_GRP_16BITMODE = 32;;
let _X86_GRP_NOT64BITMODE = 33;;
let _X86_GRP_JUMP = 34;;
let _X86_GRP_VM = 35;;
let _X86_GRP_INT = 36;;
let _X86_GRP_IRET = 37;;
let _X86_GRP_CALL = 38;;
let _X86_GRP_RET = 39;;
let _X86_GRP_MAX = 40;;
